package drds.server.sqlparser.visitor;

import drds.server.sqlparser.sqlobject.SqlObject;
import drds.server.sqlparser.sqlobject.expression.$List;
import drds.server.sqlparser.sqlobject.expression.AggregateFunction;
import drds.server.sqlparser.sqlobject.expression.AllColumn;
import drds.server.sqlparser.sqlobject.expression.Between;
import drds.server.sqlparser.sqlobject.expression.BetweenWithPartitionKey;
import drds.server.sqlparser.sqlobject.expression.InList;
import drds.server.sqlparser.sqlobject.expression.InListWithpartitionKey;
import drds.server.sqlparser.sqlobject.expression.Not;
import drds.server.sqlparser.sqlobject.expression.Variable;
import drds.server.sqlparser.sqlobject.expression.binary.BinaryExpression;
import drds.server.sqlparser.sqlobject.expression.data_type.Null;
import drds.server.sqlparser.sqlobject.expression.data_type.Text;
import drds.server.sqlparser.sqlobject.expression.data_type.number.Decimal;
import drds.server.sqlparser.sqlobject.expression.data_type.number.Int;
import drds.server.sqlparser.sqlobject.expression.name.Identifier;
import drds.server.sqlparser.sqlobject.expression.name.TableAliasName$ColumnName;
import drds.server.sqlparser.sqlobject.expression.unary.Unary;
import drds.server.sqlparser.sqlobject.statement.delete.DeleteStatement;
import drds.server.sqlparser.sqlobject.statement.insert.InsertStatement;
import drds.server.sqlparser.sqlobject.statement.insert.ValueList;
import drds.server.sqlparser.sqlobject.statement.query.GroupBy;
import drds.server.sqlparser.sqlobject.statement.query.Limit;
import drds.server.sqlparser.sqlobject.statement.query.Query;
import drds.server.sqlparser.sqlobject.statement.query.SelectItem;
import drds.server.sqlparser.sqlobject.statement.query.SelectStatement;
import drds.server.sqlparser.sqlobject.statement.query.SubQuery;
import drds.server.sqlparser.sqlobject.statement.query.order_by.OrderBy;
import drds.server.sqlparser.sqlobject.statement.query.order_by.OrderByItem;
import drds.server.sqlparser.sqlobject.statement.query.union_query.UnionQuery;
import drds.server.sqlparser.sqlobject.statement.query.union_query.UnionQueryTable;
import drds.server.sqlparser.sqlobject.statement.table.ExpressionTable;
import drds.server.sqlparser.sqlobject.statement.table.JoinTable;
import drds.server.sqlparser.sqlobject.statement.update.UpdateSetItem;
import drds.server.sqlparser.sqlobject.statement.update.UpdateStatement;

/**
 * 
 * @author 曹正辉<330937205@qq.com>
 * 
 */
public class VisitorAdapter implements Visitor {

	@Override
	public void endVisit($List x) {

	}

	public void endVisit(AggregateFunction x) {
	}

	public void endVisit(AllColumn x) {
	}

	public void endVisit(Between x) {
	}

	public void endVisit(BinaryExpression x) {
	}

	public void endVisit(Decimal x) {
	}

	public void endVisit(DeleteStatement x) {
	}

	public void endVisit(ExpressionTable x) {
	}

	public void endVisit(GroupBy x) {
	}

	public void endVisit(Identifier x) {
	}

	public void endVisit(InList x) {
	}

	public void endVisit(InsertStatement x) {
	}

	public void endVisit(Int x) {
	}

	@Override
	public void endVisit(JoinTable x) {

	}

	@Override
	public void endVisit(Limit x) {

	}

	public void endVisit(Not x) {
	}

	public void endVisit(Null x) {
	}

	public void endVisit(OrderBy x) {
	}

	public void endVisit(OrderByItem x) {
	}

	public void endVisit(TableAliasName$ColumnName x) {
	}

	public void endVisit(Query x) {
	}

	public void endVisit(SelectItem x) {
	}

	public void endVisit(SelectStatement x) {
	}

	public void endVisit(SubQuery x) {
	}

	public void endVisit(Text x) {
	}

	@Override
	public void endVisit(Unary x) {

	}

	@Override
	public void endVisit(UnionQuery x) {

	}

	@Override
	public void endVisit(UnionQueryTable x) {

	}

	public void endVisit(UpdateSetItem x) {
	}

	public void endVisit(UpdateStatement x) {
	}

	@Override
	public void endVisit(ValueList x) {

	}

	public void endVisit(Variable x) {
	}

	public void postVisit(SqlObject x) {
	}

	public void preVisit(SqlObject x) {
	}

	@Override
	public boolean visit($List x) {
		return true;
	}

	public boolean visit(AggregateFunction x) {
		return true;
	}

	public boolean visit(AllColumn x) {
		return true;
	}

	public boolean visit(Between x) {
		return true;
	}

	public boolean visit(BinaryExpression x) {
		return true;
	}

	public boolean visit(Decimal x) {
		return true;
	}

	public boolean visit(DeleteStatement x) {
		return true;
	}

	public boolean visit(ExpressionTable x) {
		return true;
	}

	public boolean visit(GroupBy x) {
		return true;
	}

	public boolean visit(Identifier x) {
		return true;
	}

	public boolean visit(InList x) {
		return true;
	}

	public boolean visit(InsertStatement x) {
		return true;
	}

	public boolean visit(Int x) {
		return true;
	}

	@Override
	public boolean visit(JoinTable x) {
		return true;
	}

	@Override
	public boolean visit(Limit x) {
		return false;
	}

	public boolean visit(Not x) {
		return true;
	}

	public boolean visit(Null x) {
		return true;
	}

	public boolean visit(OrderBy x) {
		return true;
	}

	public boolean visit(OrderByItem x) {
		return true;
	}

	public boolean visit(TableAliasName$ColumnName x) {
		return true;
	}

	public boolean visit(Query x) {
		return true;
	}

	public boolean visit(SelectItem x) {
		return true;
	}

	public boolean visit(SelectStatement x) {
		return true;
	}

	public boolean visit(SubQuery x) {
		return true;
	}

	public boolean visit(Text x) {
		return true;
	}

	@Override
	public boolean visit(Unary x) {
		return true;
	}

	@Override
	public boolean visit(UnionQuery x) {
		return true;
	}

	@Override
	public boolean visit(UnionQueryTable x) {
		return true;
	}

	public boolean visit(UpdateSetItem x) {
		return true;
	}

	public boolean visit(UpdateStatement x) {
		return true;
	}

	@Override
	public boolean visit(ValueList x) {
		return true;
	}

	public boolean visit(Variable x) {
		return true;
	}

	@Override
	public boolean visit(BetweenWithPartitionKey betweenWithPartitionKey) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void endVisit(BetweenWithPartitionKey betweenWithPartitionKey) {
		// TODO Auto-generated method stub

	}

	@Override
	public boolean visit(InListWithpartitionKey inListWithpartitionKey) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void endVisit(InListWithpartitionKey inListWithpartitionKey) {
		// TODO Auto-generated method stub

	}

}
